package com.c2c.service;

import com.c2c.po.Complaint;
import com.c2c.po.enums.impl.ComplaintsState;

import java.util.List;

public interface ComplaintService {

    /**
     * 查看所有投诉   此处理论上只有管理员调用
     *
     * @return 返回所有投诉信息
     */
    List<Complaint> findAllComplaint();

    Complaint findComplaintByComplaintId(int complaintId);

    /**
     * 根据用户Id查找投诉的举报信息
     *
     * @return 返回所有投诉信息
     */
    List<Complaint> findComplaintByUserAccount(int userAccount);

    /**
     * 根据状态查询投诉信息
     *
     * @param complaintsState         Complaint状态
     * @return                        查询的内容
     */
    List<Complaint> findComplaintByState(ComplaintsState complaintsState);

    /**
     * 管理员处理后会修改这些数据
     *
     * @param complaint               封装内容
     */
    void updateComplaintByComplaintId(Complaint complaint, int complaintState, String adminId);

    /**
     * 新增投诉
     * @param complaint               封装内容
     */
    void insertComplaint(Complaint complaint);

}
